package com.weixing.mall.provider.model.vo.report.market;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.weixing.mall.provider.api.model.enums.AgentLevelEnum;
import com.weixing.mall.provider.support.excel.EnumConverter.AgentLevelConverter;
import com.weixing.mall.provider.support.excel.EnumConverter.OrderTypeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @author jzy
 * @date 2020/5/30
 */
@Data
@ApiModel(value="MarketReferrerSendVo", description="市场部-推荐人报表-受益人")
public class MarketReferrerSendVo {
    @ApiModelProperty(value = "所属客服Id")
    @ExcelIgnore
    private Long customerId;
    @ApiModelProperty(value = "代理商Id")
    @ExcelIgnore
    private Long agentId;
    @ApiModelProperty(value = "发放人Id")
    @ExcelIgnore
    private Long issuerId;
    @ApiModelProperty(value = "收款人Id")
    @ExcelIgnore
    private Long bonusId;
    @ApiModelProperty(value = "所属客服名称")
    @ExcelIgnore
    private String customerName;
    @ApiModelProperty(value = "角色类型 1客服  2代理商")
    @ExcelIgnore
    private Integer roleType;


    @ApiModelProperty(value = "日期")
    @ExcelProperty("日期")
    private String date;
    @ApiModelProperty(value = "业绩人")
    @ExcelProperty("业绩人")
    private String userName;
    @ApiModelProperty(value = "业绩人角色")
    @ExcelProperty("业绩人角色")
    private String userRole;
    @ApiModelProperty(value = "发放人")
    @ExcelProperty("发放人")
    private String issuerName;
    @ApiModelProperty(value = "发放人角色")
    @ExcelProperty(value = "发放人角色",converter = AgentLevelConverter.class)
    private AgentLevelEnum issuerLevel;
    @ApiModelProperty(value = "发放人")
    @ExcelProperty("受益人")
    private String bonusName;
    @ApiModelProperty(value = "受益人角色")
    @ExcelProperty(value = "受益人角色",converter = AgentLevelConverter.class)
    private AgentLevelEnum bonusLevel;
    @ApiModelProperty(value = "销售总量---修改")
    @ExcelProperty("销售总量")
    private Integer quantity;

    @ApiModelProperty(value = "销售总额(包括退货，断货，取消的)")
    @ExcelProperty("销售总额")
    private BigDecimal amount;
    @ApiModelProperty(value = "实际销售总额（*代理商折扣）")
    @ExcelProperty("实际销售总额")
    private BigDecimal actualAmount;
    @ApiModelProperty(value = "实际上缴款")
    @ExcelProperty("实际上缴款")
    private BigDecimal actualHandIn;
    @ApiModelProperty(value = "已收款")
    @ExcelProperty("已收款")
    private BigDecimal moneyReceipt;
    @ApiModelProperty(value = "已获得利润")
    @ExcelProperty("已获得利润")
    private BigDecimal earnProfit;
    @ApiModelProperty(value = "个人返还款")
    @ExcelProperty("个人返还款")
    private BigDecimal personRebate;
    @ApiModelProperty(value = "团队返还款")
    @ExcelProperty("团队返还款")
    private BigDecimal rebate;
    @ApiModelProperty(value = "返下级款")
    @ExcelProperty("返下级款")
    private BigDecimal lowerRebate;
    @ApiModelProperty(value = "退货数量")
    @ExcelProperty("退货数量")
    private Integer returnQuantity;
    @ApiModelProperty(value = "退货总额")
    @ExcelProperty("退货总额")
    private BigDecimal returnAmount;
    @ApiModelProperty(value = "实际退货总额")
    @ExcelProperty("实际退货总额")
    private BigDecimal actualReturnAmount;
    @ApiModelProperty(value = "断货数量")
    @ExcelProperty("断货数量")
    private Integer stockoutQuantity;
    @ApiModelProperty(value = "断货总额")
    @ExcelProperty("断货总额")
    private BigDecimal stockoutAmount;
    @ApiModelProperty(value = "实际断货总额")
    @ExcelProperty("实际断货总额")
    private BigDecimal actualStockoutAmount;
    @ApiModelProperty(value = "取消数量")
    @ExcelProperty("取消数量")
    private Integer cancelQuantity;
    @ApiModelProperty(value = "取消金额")
    @ExcelProperty("取消金额")
    private BigDecimal cancelAmount;
    @ApiModelProperty(value = "实际取消金额")
    @ExcelProperty("实际取消金额")
    private BigDecimal actualCancelAmount;
    @ApiModelProperty(value = "商城付款")
    @ExcelProperty("商城付款")
    private BigDecimal onlinePaid;
    @ApiModelProperty(value = "应收款")
    @ExcelProperty("应收款")
    private BigDecimal shouldReceipt;
    @ApiModelProperty(value = "实际销售总量--修改")
    @ExcelProperty("实际销售总量")
    private Integer actualQuantity;
    @ApiModelProperty(value = "实际营业额")
    @ExcelProperty("实际营业额")
    private BigDecimal actualTurnover;
    @ApiModelProperty(value = "退货率")
    @ExcelProperty("退货率")
    private BigDecimal refundRate;
}
